e036467a0886b1e3e85146112615d9fe1ecca101,source/jetbrains/mps/generator/GenerationSession.java,GenerationSession,doGenerateModel,#SModel#ITemplateGenerator#,137

Before Change


    int repeatCount = 1;
    while (true) {
      SModelDescriptor currentInputModel = currentOutputModel;
      transientModel = createTransientModel(repeatCount, inputModel, generatorContext.getModule());
      currentInputModel.getSModel().validateLanguagesAndImports();
      List<String> languageNamespaces = currentInputModel.getSModel().getLanguageNamespaces();
      if(languageNamespaces.size() == 1 && languageNamespaces.get(0).equals(myTargetLanguage.getNamespace())) {

After Change


      // apply mapping to the output model
      myGeneratorSessionContext.replaceInputModel(currentOutputModel);
      SModelDescriptor currentInputModel = currentOutputModel;
      SModelDescriptor transientModel = createTransientModel(repeatCount, inputModel, generatorContext.getModule());
      if (!generator.doSecondaryMapping(currentInputModel.getSModel(), transientModel.getSModel(), repeatCount)) {
        SModelRepository.getInstance().unRegisterModelDescriptor(transientModel, generatorContext.getModule());
        break;
      }

      if (++repeatCount > 10) {
        generator.showErrorMessage(null, "Failed to generate output after 10 repeated mappings");